package com.lyf.scm.plan.domain.service;

import com.github.pagehelper.PageInfo;
import com.lyf.scm.plan.api.dto.*;
import com.lyf.scm.plan.insfrastructure.db.dataobject.es.SalesPlanEsEntity;

import java.util.List;

/**
 * description:
 *
 * @author: haodong
 * @data: 2020/11/5 20:25
 */
public interface SalesPlanEsService {

    /**
     * 动态分组查询
     * @param esAggregation 查询参数
     * @return
     */
    PageInfo<EsReturnDTO> queryByGroup(EsAggregationDTO esAggregation);

    /**
     * 分页查询
     * @param esQuery 查询参数
     * @param pageNum 当前页
     * @param pageSize 每页个数
     * @return
     */
    List<SalesPlanEsEntity> listPageQuery(EsQueryDTO esQuery, Integer pageNum, Integer pageSize);

    /**
     * 更新/新增
     * @param indexQueryList 更新参数集合
     * @return
     */
    Boolean update(List<SalesPlanEsEntity> indexQueryList);

    EsScrollReturnDTO exportByGroup(EsExportAggregationDTO esExportAggregationDTO);
}
